Integrated circuits (ICs) are used for performing various types of operations, such as executing instructions, performing computations, storing data, and moving data. A microprocessor, or processor, is a type of integrated circuit that is commonly used in modern-day computers for performing a variety of operations, such as arithmetic, logical, and data movement operations. A processor can include one or more cores. A core in a processor is the circuitry that performs the processor's functions. Within this disclosure, the terms processor and core are used interchangeably.
The operation of an IC depends on many operating conditions, including but not limited to the voltage, frequency, temperature, type of workload, and age of the circuit. A change in one or more of the operating conditions, such as a change in the voltage, noise in the electrical environment of the IC, and other reasons can cause timing variations within an IC.
When a process uses an IC, the process uses a subset of components arranged as a part of the IC. The subset of components arranged in a particular order as used by the process is called a path. As an example, a core can include thousands if not millions of paths through the core circuitry.
A path has an associated delay. The delay is the timing delay introduced in a signal as the signal traverses the path. A critical path is a path, which when operated at above a threshold level of an operating condition, can cause the IC to fail. For example, a path may be a critical path if using the path at a higher than a threshold frequency causes the delay in the path to exceed an acceptable delay threshold. Different paths may be sensitive to different operating conditions, or different combinations of operating conditions, making those paths critical for those operating conditions.
A critical path monitor (CPM) is a monitoring circuit configured to monitor the delay in one or more critical paths. Generally, a CPM simulates the one or more critical paths and provides information regarding the critical path delay by subjecting the simulated paths to operating conditions similar to the operating conditions experienced by the critical path in the IC.
An IC usually has a control component, which controls an operating condition of an IC. For example, a clock provides the operating frequency, and can be adjusted for changing the operating frequency of the IC. A voltage regulator similarly regulates the voltage at which the IC or a part thereof operates.
A feedback loop between a CPM and a control component allows a control component to adjust the corresponding operating condition based on CPM calibrations. A calibration is the process of altering a value or a characteristic of a simulated path in the CPM. Typically, the calibration adjusts the delay of a simulated path in the CPM to achieve an acceptable delay in the simulated path. The calibration adjustment in turn informs a control component about an amount of adjustment needed in the operating condition to achieve a similarly desirable delay in the critical path in the IC.